import gradio as gr
import numpy as np


def sepia(input_img):
    sepia_filter = np.array(
        [
            [0.393, 0.769, 0.189],
            [0.349, 0.686, 0.168],
            [0.272, 0.534, 0.131]
        ]
    )
    sepia_img = input_img.dot(sepia_filter.T)
    sepia_img /= sepia_img.max()
    return sepia_img


if __name__ == '__main__':
    demo = gr.Interface(fn=sepia, inputs=gr.Image(height=200, width=200), outputs="image")
    demo.launch(share=True)
